To adequately test data coherency in systems that cache file data, concurrent input and output (I/O) operations are performed. One challenge in performing concurrent I/O operations is doing so without introducing complicated and high-overhead data locking schemes. The overhead associated with data locking may change the timing such that some design errors may go undiscovered prior to the system being available to customers.
Another approach to testing data coherency is address tagging. Address tagging involves writing the same data with multiple write requests. This is useful in detecting misplaced data, but is less useful for detecting lost write requests, and of very little use in detecting old data.
A method and apparatus that addresses the aforementioned problems, as well as other related problems, are therefore desirable.